1. Field of the Invention
This invention relates generally to measurement and data acquisition systems and, more particularly, to a system and method for buffering bidirectional digital I/O lines.
2. Description of the Related Art
Scientists and engineers often use measurement systems to perform a variety of functions, including measurement of a physical phenomena or unit under test (UUT), test and analysis of physical phenomena, process monitoring and control, control of mechanical or electrical machinery, data logging, laboratory research, and analytical chemistry, to name a few examples.
A typical measurement system comprises a computer system with a measurement device or measurement hardware. The measurement device may be a computer-based instrument, a data acquisition device or board, a programmable logic device (PLD), an actuator, or other type of device for acquiring or generating data. The measurement device may be a card or board plugged into one of the I/O slots of the computer system, or a card or board plugged into a chassis, or an external device. For example, in a common measurement system configuration, the measurement hardware is coupled to the computer system through a PCI bus, PXI (PCI extensions for Instrumentation) bus, a GPIB (General-Purpose Interface Bus), a VXI (VME extensions for Instrumentation) bus, a serial port, parallel port, or Ethernet port of the computer system. Optionally, the measurement system includes signal conditioning devices which receive the field signals and condition the signals to be acquired.
A measurement system may typically include transducers, sensors, or other detecting means for providing “field” electrical signals representing a process, physical phenomena, equipment being monitored or measured, etc. The field signals are provided to the measurement hardware. In addition, a measurement system may also typically include actuators for generating output signals for stimulating a unit under test.
Measurement systems, which may also be generally referred to as data acquisition systems, may include the process of converting a physical phenomenon (such as temperature or pressure) into an electrical signal and measuring the signal in order to extract information. PC-based measurement and data acquisition (DAQ) systems and plug-in boards are used in a wide range of applications in the laboratory, in the field, and on the manufacturing plant floor.
In a measurement or data acquisition process, analog signals may be received by a digitizer, which may reside in a DAQ device or instrumentation device. The analog signals may be received from a sensor, converted to digital data (possibly after being conditioned) by an Analog-to-Digital Converter (ADC), and transmitted to a computer system for storage and/or analysis. When a measurement system generates an output analog signal, the computer system may generate digital signals that are provided to one or more digital to analog converters (DACs) in the DAQ device. The DACs convert the digital signal to an output analog signal that is used, e.g., to stimulate a UUT.
Multifunction DAQ devices typically include digital I/O capabilities in addition to the analog capabilities described above. Digital I/O applications may include monitoring and control applications, video testing, chip verification, and pattern recognition, among others. DAQ devices may include one or more general-purpose, bidirectional digital I/O lines to transmit and receive digital signals to implement one or more digital I/O applications.
Digital data received from a signal source (e.g., a sensor) via bidirectional digital I/O lines of a device (e.g., a DAQ device) may be buffered before the data is processed. For example, a DAQ device may include a buffer device that may be coupled to one or more bidirectional digital I/O lines. The buffer device may include one or more bidirectional buffers for each I/O line, which may be configured as either an input or an output. Also, the DAQ device may include a second device having one or more bidirectional buffers. The second device may be coupled to the buffer device via a device bus to receive the data.
To receive data from the signal source, one of the bidirectional buffers of the buffer device may be configured as an input. At the same time, the corresponding bidirectional buffers of the second device may be configured as inputs. In this configuration, the data flow may be from the buffer device to the second device. There may be two options to switch the data flow to the opposite direction (i.e., from the second device to the buffer device). Typically, in an “off-the-shelf” buffer device one pin controls both sides of the buffer. Therefore, in one example, to change the data flow to the opposite direction, both sides of the buffer device may be switched from an input to an output. However, the buffer in the second device may remain configured as an input, which may float the device bus and cause glitches to show up at the source. In another example, the buffer in the second device may be changed from an input to an output without the bidirectional buffers in the buffer device having changed. In this case, both the buffer device and the second device may be driving data towards the device bus; therefore, this option may result in bus contention due to the double driving of the device bus.